pub fn dp_rec_mc(amount: u32) -> u32 {
    // 按照降序排列纸币
    let coins = vec![100, 50, 30, 20, 10, 5, 2, 1];
    let mut remaining = amount;
    let mut count = 0;
    
    // 使用贪心算法：每次尽可能使用最大面额的纸币
    for &coin in coins.iter() {
        while remaining >= coin {
            remaining -= coin;
            count += 1;
        }
    }
    
    count
}
